《Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and node2vec》
传统的网络挖掘、网络学习的范式通常从对网络结构属性(structural property
) 的显式探索而开始。但是许多这类的属性(如中介中心度 betweenness centrality
、三角计数 triangle count
、模度 modularity
)由人工制作,并且需要广泛的领域知识和昂贵的计算代价。鉴于这些问题,以及最近出现的 representation learning
所提供的机会,人们广泛研究了学习网络的潜在 representation
(也就是 network embedding
),以便自动发现网络的结构属性并将其映射到一个潜在的空间。
形式上,network embedding
的问题通常形式化如下:给定一个无向带权图 representation
可以用于各种网络科学任务、网络 learning algorithm
的输入,例如标签分类、社区检测。
解决这个问题的尝试可以追溯到谱图理论(spectral graph theory
) 和社交维度学习( social dimension learning
)。该问题最近的进展很大程度上受到 SkipGram
模型的影响。SkipGram
模型最初是为 word embedding
所提出的,其输入是由自然语言中的句子组成的文本语料库,输出是语料库中每个单词的 latent vector representation
。值得注意的是,受到该 setting
的启发,DeepWalk
通过将网络上随机游走所遍历的顶点路径视为句子,并利用 SkipGram
来学习潜在的节点 representation
,从而开创了 network embedding
的先河。随着 DeepWalk
的出现,人们后续已经开发了很多 network embedding
模型,例如 LINE
、PTE
、node2vec
。
到目前为止,上述模型已经被证明非常有效。然而,它们背后的理论机制却鲜为人知。人们注意到,用于 word embedding
的、带负采样的 SkipGram
模型已经被证明是某个 word-context
矩阵的隐式分解,并且最近有人努力从几何角度从理论上解释 word embedding
模型。但是,目前尚不清楚 word-context
矩阵与网络结构之间的关系。此外,早期人们尝试从理论上分析 DeepWalk
的行为,然而他们的主要理论结果和原始 DeepWalk
论文的 setting
并不完全一致。此外,尽管 DeepWalk, LINE, PTE, node2vec
之间存在表面上的相似性,但是对它们的底层联系缺乏更深入的了解。
在论文 《Network Embedding as Matrix Factorization: Unifying DeepWalk, LINE, PTE, and node2vec》
中,作者提供了关于几种基于 SkipGram
的 network embedding
方法的理论结果。具体而言:
论文首先表明这里提到的模型(即 DeepWalk, LINE, PTE, node2vec
)在理论上执行隐式矩阵分解。论文为每个模型推导出矩阵的封闭形式( closed form
)。例如,DeepWalk
(图上的随机游走加上 SkipGram
)本质上是对一个随机矩阵进行因子分解,并且随着随机游走的长度趋于无穷大,该矩阵在概率上收敛到这个的闭式矩阵。
其次,从它们矩阵的闭式形式观察,作者发现有意思的是,LINE
可以视为 DeepWalk
的一个特例:当 SkipGram
中的上下文窗口大小 PTE
作为 LINE
的扩展,实际上是多网络的联合矩阵(joint matrix
) 的隐式分解。
第三,作者发现了 DeepWalk
的隐式矩阵(implicit matrix
)和图拉普拉斯矩阵(graph Laplacian
)之间的理论联系。基于这种联系,作者提出了一种新算法 NetMF
来逼近 DeepWalk
隐式矩阵的封闭形式。通过使用 SVD
显式分解该矩阵,论文在四个网络(在 DeepWalk
和 node2vec
论文中所采用的)中的广泛实验证明了 NetMF
相比于 DeepWalk
和 LINE
的出色性能(相对提升高达 50%
)。
论文的理论价值高于
NetMF
实用的价值,实际上NetMF
很难应用到工业环境中,因为NetMF
的时间复杂度和空间复杂度都太高。
论文展示了所有上述带负采样的模型都可以统一到具有封闭形式(closed form
)的矩阵分解框架中。论文的分析和证明表明:
DeepWalk
经验性(empirically
)地产生了网络归一化拉普拉斯矩阵的低秩变换(low-rank transformation
) 。
LINE
理论上是 DeepWalk
的一个特例:当顶点的上下文 size
为 1
时。
作为 LINE
的扩展,PTE
可以视为多个网络的拉普拉斯矩阵的联合分解。
node2vec
正在分解与二阶随机游走的平稳分布、转移概率张量等相关的矩阵。
这项工作为基于 SkipGram
的 network embedding
方法奠定了理论基础,从而更好地理解了潜在的 network representation learning
。
相关工作:network embedding
的故事来源于谱聚类( Spectral Clustering
)。谱聚类是一种数据聚类技术,它选择数据的亲和矩阵( affinity matrix
)的特征值(eigenvalue
)/特征向量( eigenvector
)从而获得representation
,从而进一步用于聚类或嵌入到低维空间。谱聚类已广泛应用于社区检测和图像分割等领域。
近年来,人们对 network embedding
越来越感兴趣。继 SocDim
和 DeepWalk
等一些开创性工作之后,越来越多的文献试图从不同的角度解决这个问题,例如 heterogeneous network embedding
、半监督 network embedding
、具有丰富顶点属性的 network embedding
、具有高阶结构的 network embedding
、有符号的 network embedding
、有向的network embedding
、通过神经网络的 network embedding
等等。在上述研究中,一种常用的技术是为每个顶点定义 context
,然后训练一个预测模型来进行上下文预测。例如,DeepWalk, node2vec, metapath2vec
分别通过基于一阶的随机游走、基于二阶的随机游走、基于 metapath
的随机游走来定义顶点的上下文。
利用上下文信息的思想很大程度上是由带负采样的 SkipGram
模型skip-gram model with negative sampling: SGNS
所推动的。最近,人们一直在努力理解这个模型。例如:
《NeuralWord Embedding as Implicit Matrix Factorization》
证明了 SGNS
实际上是进行隐式矩阵分解,这为我们提供了分析上述 network embedding
模型的工具。
《A latent variable model approach to pmi-based word embeddings》
提出生成模型 RAND-WALK
来解释 word embedding
模型。
《Word embeddings as metric recovery in semantic spaces》
将 word embedding
框架作为度量学习问题。
基于隐式矩阵分解的工作,我们从理论上分析了流行的、基于 SkipGram
的 network embedding
模型,并将它们与谱图理论联系起来。
这里我们首先介绍四种流行的 network embedding
方法(LINE, PTE, DeepWalk, node2vec
)的详细理论分析和证明,然后提出我们的 NetMF
方法。
给定一个带权无向图 LINE
(即 LINE(2nd)
)的任务是学到两个representation
矩阵 :
vertex represetation
矩阵 vertex
时的 embedding
向量。
context representation
矩阵contex
时的 embedding
向量。
LINE(2nd)
的目标函数为:
其中:sigmoid
函数,noise
分布。在 LINE
原始论文中使用经验分布 degree
LINE(2nd)
的目标函数为(即 ),考虑到 时 以及负采样,则得到上述目标函数。这也是为什么 中 不仅作用在“正边”、也作用在 “负边” 上的原因。
本文我们选择 closed form solution
) 。定义 degree
之和,则有
我们在图
因此有:
则对于每一对顶点 (i,j)
,其局部目标函数(local objective function
)为:
定义 《NeuralWord Embedding as Implicit Matrix
Factorization》
的结论:对于一个足够大的 embedding
维度, 每个
为求解目标函数极大值,我们令偏导数为零,则有:
这个方程有两个闭式解:
因此有:
则 LINE(2nd)
对应于矩阵分解:
其中对角矩阵
PTE
是 LINE(2nd)
在异质文本网络heterogeneous text network
中的扩展。我们首先将我们对 LINE(2nd)
的分析调整到二部图网络。考虑一个二部图网络 volume
为 PTE
的目标是学习每个节点 representation
representation
LINE(2nd)
的目标函数为:
这里
内节点和 内节点互为上下文,因此没必要引入 上下文的 embedding
变量、上下文的 embedding
变量。
与 LINE
相同的分析过程,我们可以发现最大化
其中 1
的向量。
当二部图是无向图时,
(无向图的出边就是入边),则 。
基于上述分析,接下来我们考虑 PTE
中的异质文本网络。假设单词集合为
word-word
子网 word
是一个顶点,边的权重为两个 word
在大小为 T
的窗口内共现的次数。假设其邻接矩阵为
word-document
子网 word
和 document
都是一个顶点,边的权重是word
出现在文档中的次数。同样地我们定义对角矩阵
word-label
子网 word
和 label
都是一个顶点,边的权重为 word
出现在属于这个 label
的文档的篇数。同样的我们定义对角矩阵
PTE
的损失函数为:
其中 PTE
论文, PTE
在训练期间执行边采样,其中边是从三个子网中交替采样得到。
根据前面的结论有:
令:
则有
DeepWalk
首先通过在图上执行随机游走来产生一个 corpus
SkipGram
模型。这里我们重点讨论带负采样的 SkipGram
模型(skipgram with negative sampling: SGNS
)。整体算法如下所示:
输入:
图
窗口大小
随机游走序列长度
总的随机游走序列数量
输出:顶点的 embedding
矩阵
算法步骤:
迭代:
根据先验概率分布
在图
统计顶点共现关系。对于窗口位置
考虑窗口内第
添加 vertex-context
顶点对
添加 vertex-context
顶点对
然后在 SGNS
。
根据论文 《Neural Word Embedding as Implicit Matrix Factorization》
, SGNS
等价于隐式的矩阵分解:
其中:vertex-context
vertex
context
这个矩阵
刻画了图结构的什么属性?目前并没有相关的分析工作。此外,这里是否可以去掉 log
、是否可以去掉log b
,也没有理论的解释。
接下来的分析依赖于一些关键的假设:
假设图 undirected
)、连接的(connected
)、(non-bipartite
)的,这使得
假设每个随机游走序列的第一个顶点从这个平稳分布
对于
context
顶点 vertex
顶点 vertex-context
context
顶点 vertex
顶点 vertex-context
定义
事实上
另外考虑到对称性,我们有
定理一:定义,则当
其中:
证明:
首先介绍 S.N. Bernstein
大数定律:设 law of large numbers:LLN
)成立。
考虑只有一条随机游走序列(即 vertex-context
indicator
)。
我们观察到:
基于我们对图的假设和随机游走的假设,则有:
基于我们对图的假设和随机游走的假设,则有:当
其中:第一项为
则有:
当
因此有
应用大数定律,则有:
类似地,我们有:
当
事实上如果随机游走序列的初始顶点分布使用其它分布(如均匀分布),则可以证明:当
因此定理一仍然成立。
定理二:当
证明:
注意到
进一步的,考察
当
不大时,单边的、间隔 的 vertex-context
数量是固定的,为全体vertex-context
数量的。
定理三:在 DeepWalk
中,当
因此DeepWalk
等价于因子分解:
证明:
利用定理二和continous mapping theorem
,有:
写成矩阵的形式为:
事实上我们发现,当 DeepWalk
就成为了 LINE(2nd)
, 因此 LINE(2nd)
是 DeepWalk
的一个特例。
node2vec
是最近提出的 graph embedding
方法,其算法如下:
输入:
图
窗口大小
随机游走序列长度
总的随机游走序列数量
输出:顶点
算法步骤:
构建转移概率张量
迭代:
根据先验概率分布
在图
统计顶点共现关系。对于窗口位置
考虑窗口内第
添加三元组
添加三元组
然后在 SGNS
。
注意:这里为了方便分析,我们使用三元组 vertex-context
二元组。
node2vec
的转移概率张量
首先定义未归一化的概率:
其中
然后得到归一化的概率:
类似 DeepWalk
,我们定义:
这里 previous
顶点。
定义
定义二阶随机游走序列的平稳分布为 Perron-Frobenius
定理,这个平稳分布一定存在。为了便于讨论,我们定义每个随机游走序列的初始两个顶点服从平稳分布
定义高阶转移概率矩阵
由于篇幅有限,这里给出 node2vec
的主要结论,其证明过程类似 DeepWalk
:
因此 node2vec
有:
尽管实现了 node2vec
的封闭形式,我们将其矩阵形式的公式留待以后研究。
注意:存储和计算转移概率张量
由于篇幅限制,我们这里主要集中在一阶随机游走框架DeepWalk
上。
根据前面的分析我们将 LINE, PTE, DeepWalk, node2vec
都统一到矩阵分解框架中。这里我们主要研究 DeepWalk
矩阵分解,因为它比 LINE
更通用、比 node2vec
计算效率更高。
首先我们引用了四个额外的定理:
定理四:定义归一化的图拉普拉斯矩阵为
而且,假设它的特征值从大到小排列 ,则有:
进一步的,假设该图是连通图 (connected
),并且顶点数量
证明参考:《Spectral graph theory》
。
定理五:实对称矩阵的奇异值就是该矩阵特征值的绝对值。
证明参考:《Numerical linear algebra》
。
定理六:假设
其中
证明参考:《Topics in Matrix Analysis》
。
定理七:给定一个实对称矩阵
假设
证明参考:《Numerical linear algebra》
。
考察 DeepWalk
的矩阵分解:
忽略常量以及 element-wise
的 log
函数,我们关注于矩阵:
实对称矩阵
考虑到
我们首先分析
这可以视为对
滤波器倾向于保留正的、大的特征值。
随着窗口大小
即:随着
然后我们分析
根据定理五,矩阵
考虑到每个
特别的,degree
。
通过应用两次定理六,我们可以发现第
因此
另外,根据瑞利商,我们有:
应用定理七,我们有:
为了说明滤波器 Cora
数据集对应的引文网络。我们将引文链接视为无向边,并选择最大连通分量( largest connected component
)。我们分别给出了
对于
对于
对于
它的奇异值(即特征值的绝对值)被
它的最小特征值的被
基于前面的理论分析,我们提出了一个矩阵分解框架 NetMF
,它是对 DeepWalk
和 LINE
的改进。
为表述方便,我们定义:
因此 DeepWalk
的矩阵分解。
对于很小的
受到 Shifted PPMI
启发,我们定义 top
embedding
向量。
对于很大的
首先我们对 top
top
Arnoldi
方法来大大减少时间。
大型稠密矩阵的特征值分解的代价太高,实际是不可行的。
然后我们通过
NetMF
算法:
输入:
图
窗口大小
输出:顶点的 embedding
矩阵
算法步骤:
如果
如果
执行 SVD
分解:
返回 network embedding
。
对于较大的
定理八:令 Frobenius
范数,则有:
证明:
第一个不等式:可以通过 F
范数的定义和前面的定理七来证明。
第二个不等式:不失一般性我们假设
第一步成立是因为: 对于
另外,根据
因此有:
这里我们在在多标签顶点分类任务中评估 NetMF
的性能,该任务也被 DeepWalk, LINE, node2vec
等工作所采用。
数据集:
BlogCatalog
数据集:在线博主的社交关系网络,标签代表博主的兴趣。
Flickr
数据集:Flickr
网站用户之间的关系网络,标签代表用户的兴趣组,如“黑白照片”。
Protein-Protein Interactions:PPI
:智人 PPI
网络的子集,标签代表标志基因组和代表的生物状态。
Wikipedia
数据集:来自维基百科,包含了英文维基百科 dump
文件的前一百万个字节中的单词共现网络。顶点的标签表示通过Stanford POS-Tagger
推断出来的单词词性(Part-of-Speech: POS
) 。
这些数据集的统计信息如下表所示。
Baseline
模型和配置:我们将 NetMF(T=1)
、NetMF(T=10)
和 LINE(2nd), DeepWalk
进行比较。
所有模型的 embedding
维度都是 128
维。
对于 NetMF(T=10)
,我们在 Flickr
数据集上选择
对于 DeepWalk
,我们选择窗口大小为 10
、随机游走序列长度 40
、每个顶点开始的随机游走序列数量为 80
。
我们重点将 NetMF(T=1)
和 LINE(2nd)
进行比较,因为二者窗口大小都为 1
;重点将 NetMF(T=10)
和 DeepWalk
进行比较,因为二者窗口大小都为 10
。
和 DeepWalk
相同的实验步骤,我们首先训练整个网络的 embedding
,然后随机采样一部分标记样本来训练一个one-vs-rest
逻辑回归分类模型,剩余的顶点作为测试集。在测试阶段,one-vs-rest
模型给出 label
的排名,而不是最终的 label
分配。为了避免阈值效应,我们假设测试集的 label
数量是给定的。
对于 BlogCatalog,PPI,Wikipedia
数据集,我们考察分类训练集占比 10%~90%
的情况下,各模型的性能;对于 Flickr
数据集,我们考察分类训练集占比 1%~10%
的情况下,各模型的性能。我们评估测试集的 Micro-F1
指标和 Macro-F1
指标。为了确保实验结果可靠,每个配置我们都重复实验 10
次,并报告测试集指标的均值。
完成的实验结果如下图所示。可以看到:NetMF(T=1)
相对于 LINE(2nd)
取得了性能的提升(它们的上下文窗口 T=1
),NetMF(T=10)
相对于 DeepWalk
也取得了性能提升(它们的上下文窗口 T=10
)。
在 BlogCatalog,PPI,Flickr
数据集中,我们提出的 NetMF(T=10)
比 Baseline
性能更好。这证明了我们提出的理论基础在 network embedding
的有效性。
在 Wikipedia
数据集中,窗口更小的 NetMF(T=1)
和 LINE(2nd)
效果更好。这表明:短期依赖足以建模 Wikipedia
网络结构。这是因为 Wikipedia
网络是一个平均 degree
为 77.11
的稠密的单词共现网络,大量单词之间存在共现关系。
如下表所示,大多数情况下当标记数据稀疏时,NetMF
方法远远优于 DeepWalk
和 LINE
。
DeepWalk
尝试通过随机游走采样,从而用经验分布来逼近真实的 vertex-context
分布。尽管大数定律可以保证这种方式的收敛性,但是实际上由于真实世界网络规模较大,而且实际随机游走的规模有限(随机游走序列的长度、随机游走序列的数量),因此经验分布和真实分布之间存在gap
,从而对 DeepWalk
的性能产生不利影响。
NetMF
通过直接建模真实的vertex-context
分布,从而得到比DeepWalk
更好的效果。